package com.qfedu.yanglao20admin.orderlist.common;

/**
 * @author 86182
 * @data 2023/3/14 14:36
 */
public enum StateEnum {
    // 该写法表示要调用对应的构造方法
    UNPAID(0, "待付款"),
    UNDISTRIBUTED(1, "等待系统分配"),
    RECEIVE(2, "陪护员已结单"),
    SERVICE(3, "服务中"),
    CANCELLATION(4, "已取消"),
    FINISH(5, "已完成"),
    REFUNDING(6, "退款中"),
    SUCCESSFUL(7, "退款成功"),
    FAILED(8, "退款失败");

    // 枚举中可以定义成员变量
    private int id;
    private String desc;

    public int getId() {
        return id;
    }

    public String getDesc() {
        return desc;
    }

    // 枚举中可以定义构造方法 枚举中的构造方法不能是 public
    private StateEnum(int id, String desc) {
        this.id = id;
        this.desc = desc;
    }

    // 根据指定的数据，获取枚举类型的对象
    public static StateEnum getStateById(int id) {
        // 获取所有的枚举值
        StateEnum[] values = StateEnum.values();
        for (StateEnum value :
                values) {
            if (value.getId() == id) {
                return value;
            }
        }
        return null;
    }
}
